[新機能]S3で新しいストレージクラス Glacier Deep Archive が使えるようになりました
はじめに
こんにちは、岩城です。
昨年のre:Inventで発表されていた Glacier Deep Archive が利用できるようになりました。 早速確認していきたいと思います。
Glacier Deep Archive 3行まとめ
- Glacier よりもコストが低く、全てのストレージクラスで最も低コスト
- 最小保存期間は180日で、最低180日よりも前にオブジェクトを削除した場合、180日分課金される
- 復元オプションの標準取り出しで12時間以内、一括取得で48時間以内待つ必要がある
Glacier と Glacier Deep Archive の比較
Glacier | Glacier Deep Archive | |
---|---|---|
ストレージ料金(東京) | 0.005USD/GB | 0.002USD/GB |
ストレージ料金(バージニア) | 0.004USD/GB | 0.00099USD/GB |
最小保存期間 | 90日 | 180日 |
迅速取り出し時間 | 250 MB 以下の取り出しの場合、通常 1~5 分以内 | - |
標準取り出し時間 | 3~5時間 | 12時間以内 |
一括取得時間 | 5~12時間 | 48時間以内 |
ストレージクラスのおさらい
ストレージクラスのおさらいです。読み飛ばしても問題ありません。 S3 には、バケットに格納したオブジェクトのユースケースに応じてストレージクラスを選択できます。 ストレージクラスには以下の種類があります。
- アクセス頻度の高いオブジェクトのストレージクラス
- STANDARD
- デフォルトのストレージクラス
- REDUCED_REDUNDANCY
- 低冗長化ストレージクラス
- それほど重要ではない再生可能なデータを STANDARD より低いレベルの冗長性で保存する
- コスト効果が良いのは STANDARD とされており、使用は推奨されていない
- アクセス頻度が高いオブジェクトと低いオブジェクトを自動的に最適化するストレージクラス
- INTELLIGENT_TIERING
- アクセス頻度から長時間アクセスされていない場合、オブジェクトを低コストで低頻度のアクセス階層に移動する
- 移動した後にオブジェクトにアクセスした場合、高頻度のアクセス階層に移動する
- アクセス頻度の低いオブジェクトのストレージクラス
- STANDARD_IA
- 複数のアベイラビリティーゾーンにまたがってオブジェクトデータを冗長に格納する
- ONEZONE_IA
- 1つのアベイラビリティーゾーンにのみ格納するため、STANDARD_IA よりも安価である
- Glacierストレージクラス
- GLACIER
- データの一部を数分、数時間で取得する必要があるデータのアーカイブに使用する
- DEEP_ARCHIVE
- アクセスする必要がほとんどないデータのアーカイブに使用する
やってみた
アップロード時のストレージクラスの指定
オブジェクトアップロード時のストレージクラスにGlacier Deep Archive
があります。
ストレージクラスの変更
すでにあるオブジェクトのストレージクラスを変更する際のリストにもGlacier Deep Archive
があります。
復元
続いて復元を確認してみましょう。一括取得
と標準取り出し
に掛かる時間を確認できます。
CLIからの操作
続いてCLIから操作をしてみたいと思います。
ストレージクラスにDEEP_ARCHIVE
を指定してオブジェクトをputします。
$ aws s3api put-object --bucket iwaki-deeparchive --key object3 --storage-class DEEP_ARCHIVE { "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"" }
putしたオブジェクトのメタデータを確認します。ストレージクラスがDEEP_ARCHIVE
であることが分かります。
$ aws s3api head-object --bucket iwaki-deeparchive --key object3 { "AcceptRanges": "bytes", "ContentType": "binary/octet-stream", "LastModified": "Thu, 28 Mar 2019 09:03:05 GMT", "ContentLength": 0, "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"", "StorageClass": "DEEP_ARCHIVE", "Metadata": {} }
試しに取得してみようとしますが、アーカイブされているのでエラーになります。
$ aws s3api get-object --bucket iwaki-deeparchive --key object3 outfile An error occurred (InvalidObjectState) when calling the GetObject operation: The operation is not valid for the object's storage class
おわりに
本エントリがどなたかのお役に立てれば幸いです。